home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / 8bit / cislib_a / mdrive.doc < prev    next >
Text File  |  1995-04-22  |  21KB  |  1 lines

  1.                   MPP 1000C Modem/850 Emulator  Page -1-     -⇧Intro- MPP 1000C modem      capable of autodial and autoanswer.  This manual is meant to      describe the installation, use, and technical aspects of the      driver.   Major things, such as error trapping and full 850      compatibility in the -⇧normal- everyday use that many Amodem users      and BBS Sysops would use it, as well as HomePak buyers who own      MPP modems, played a major part in the development of this      driver.  Thorough testing of this driver with Amodem 5.1,      unmodified Amis and Forem, and most important of all, HomePak,      by Russ Wetmore, to ensure full 850 compatibility has been      taking place within the past 9 months.  This driver was      constructed by the MAC/65 cartridge for the Main and Smartmodem      Source, and Basic XL for the Relocation Generator, to generate      MAC/65 source code, thus taking up a maximum of 2.5K of code      inside the machine, with the Smartmodem commands.          This introduction would not be complete without the      mentioning of the support and beta-testing help of my very good      friends.  First of all, Dave Lowry, Sysop of OTB BBS in      Oakville, Ontario, (416) 844-2483, made sure that all of the      functions of the driver worked, especially the custom XIO      commands that were built into the driver.  If it weren't for      him, this driver wouldn't have gotten the testing it has already      received.  To this day, OTB BBS is still running with this      version of the MPP driver (Without the Smartmodem commands).       Secondly, and equally important, Peter Marshall, of The Martech      Group, made sure that the Hayes SmartModem(tm) commands and XIO      commands pertaining to the 850 all worked properly.  He also      ensured that the HomePak worked properly with the driver, which      was our main goal.               -⇧Booting up the Driver-elocatable, the booting stage of the      driver is quite simple.  All that must be done is to rename one      of the modem drivers to AUTORUN.SYS and then boot up a DOS      diskette with your new AUTORUN.SYS, that you renamed from the      driver, and when the disk driver finishes whirring, your driver      should be installed.  As the driver is relocatable, it will      place itself in the lowest area of memory without interfering      with any terminal program.  Those with the OSS Supercartridges      will have an added advantage if they are using the part of DOS      XL that puts itself into the Supercartridge, as they will save      approximately 5K, thus enabling the driver to be in a lower part      of the computer's memory.          If there is no sign of the Driver, ie. You didn't hear a      beep and see the Version number on the screen, then the driver      wasn't renamed properly.  After the driver is booted, you are      then ready to use any Terminal or Bulletin Board System (BBS)      program of your choice.                            MPP 1000C Modem/850 Emulator  Page -2-     -⇧General CIO Calls to the Driver-ral Calls, ie. OPEN, CLOSE, PRINT,      INPUT, etc., without worrying too much about how the driver      works on the inside.  There are also specialized commands,      called XIO Commands, that will be discussed in the next section,      which communicate with the driver to get certain tasks done that      the CIO is not truly capable of handling by itself, such as      altering the Baud Rate.          The OPEN command is very simple.  All that need be done, is      to remember the Basics of the OPEN Statment.  In the OPEN      command, you need remember, that for the mode of communication,      ie. Input, OUtput or Both, a 5, 9, or 13 must be placed in the      Aux1 byte for Input, OUtput, or Both, respectively.  For true      850 compatibility, the Aux2 byte should be a zero.  A value      other than zero will give it characteristics, unique to the      driver and, thus render it incompatible with the 850 interface.       This is not a drawback, but an intention to make custom and      compact terminal and BBS programs for the MPP modem.  For the      Aux2 byte, the following corresponds to the actions taken by the      driver and the corresponding XIO statemants for you to look up      for the meanings:               +128 -- Hang up upon the CLOSE Statement (XIO      34,#chan,128,0,"R:")          +64  -- Enter Autoanswer state (XIO 35,#chan,0,0,"R:")          +32  -- No Translation (ATASCII) (XIO 38,#chan,32,0,"R:")          +16  -- Dial Number Supplied (XIO      37,#chan,0,0,"R:555-1212")          +8   -- Odd Parity (XIO 38,#chan,8,0,"R:")          +4   -- Even Parity (XIO 38,#chan,4,0,"R:")          +2   -- Echo Byte back to modem (XIO 38,#chan,2,0,"R:")          +1   -- Half Duplex (XIO 38,#chan,1,0,"R:")         desired functions in your application program, simply add up      the corresponding bytes and the modem handler will take care of      the rest.  As an example, let's say that we want to dial a      number in ATASCII and work in half-duplex:  then we add 32      (ATASCII or NO translation)+16 (Dial)+1 (Half duplex) which      comes to 49.  Thus the statement would be OPEN      #chan,13,49,"R:phonenumber" and that is all there is to it.  Due      to all of this flexibility, there are also limitations, such as      setting the Dial and Answer bits simultaneously will report back      with an error, as you can't dial and answer the phone at the      same time.  The other limitation is setting the echo & half      duplex bits simultaneously.  It won't report back with an error,      but it will constantly juggle the same bytes from both buffers.          The Get or Input statements function the same as if doing      Gets or Inputs from any other channel.  The are only two      requirements.  The first requirement is that the modem must be      plugged in.  The second one is that an XIO 40 must have been      executed for its own internal reasons, not to mention that it is      an Atari 850 standard.  For more on this, see next section.  The                   MPP 1000C Modem/850 Emulator  Page -3-     third requirement is that there must be a byte in the buffer      within a given, user presettable time period.  If any of these      three requirements are not met, then an error results, depending      on the requirement not met.  The driver doesn't lock up and wait      for you to plug in the modem.  The only condition of a lockup is      in the terminal program used, but -⇧not in the driver-so the same as any other      Put or Print statements to the other channels.  As with the      Get/Input Statements, there are requirements to be met; however,      only the first two requirements that were listed in the      Get/Input commands are needed.  The third requirement is not      even seen by the Put/Print statments.          The CLOSE command is also the same as Closing another      device.  The only twist here is that if you had specified the      hang-up bit upon opening modem, then, when the channel is      closed, the modem will hang up and empty all of the buffers.       Otherwise, the close command will have no effect on the modem,      but will disable the XIO 40, Dial, Answer, Half Duplex,      Linefeeds and a few other things internal to the driver.                      -⇧Special Commands (XIO) to the CIO & Modem-sed to enable a certain      characteristic, or execute a certain command in the driver.       They are XIO commands because they have nothing to do with      opening, closing, getting a status, or general I/O.  To further      explain the meaning of these Commands, we shall present them in      order and explain what the commands do.     -⇧XIO 34 -- Switch hook toggle:-         Usage: XIO 34,#chan,aux1,aux2,"R:"          Where chan is the IOCB that you are using with the modem.     aux1 is one of the following numbers in order to have an effect      on the driver.          128 - Hangs up the modem and clears the buffer off